草庐IT

apache - PHP session 和 memcacheD

全部标签

PHP Memcached 客户端 - 设置数据时压缩不起作用

我正在试用phpmemcached客户端。对于phpmemcached中的set操作,压缩似乎默认打开。我尝试设置一个中等大小的字符串数据,当我在telnet中运行get命令时,我得到的值只是纯文本。现在,当使用memcache完成相同操作时,该值会出现乱码/难以辨认。不仅是我在telnet里查了stats。这是结果memcache-compressedbytes-148memcache-uncompressedbytes-285memcached-uncompressedbytes-285memcached-uncompressedbytes-285如您所见,使用php内存缓存使我压

php - 即使在 Allow From All 和 Chmod 777 之后,解决 Apache 上的 403 权限被拒绝错误?

我的DocumentRoot在~/Dropbox/Websites中。它在vhosts和httpd.conf中设置为AllowFromAll和AllowOverrideAll,我什至递归地在整个DocumentRoot上设置了777权限(它只是一个本地开发环境,我永远不会这样做,不要'担心)。这在Ubuntu和Windows上就像一个魅力,但在OSX上它一直告诉我权限被拒绝。我还能尝试什么?有没有办法查看为什么权限被拒绝?如果我至少得到像“_www不允许访问此文件夹”或“.htaccess不允许进入此文件夹”这样的提示,那就太好了,但这条通用消息的帮助为零。我还尝试将目录的所有者更改为

php - 为什么带有 PCRE_UTF8 的 PHP preg_match_all 在 CLI 上和通过 Apache/mod_php 给出不同的结果?

以下代码在通过CLI和Apache/mod_php运行时产生不同的结果:$pattern."u",//Addu(PCRE_UTF8)modifier"Non-unicode"=>$pattern);echo"Text:\n'$text'\n";foreach($regexpsas$type=>$regexp){$matches=array();$total=preg_match_all($regexp,$text,$matches);echo"\n\n";echo"$typeregex:\n'$regexp'\n\n";echo"Total$typematches:";var_dump

php - 未写入 Apache 错误日志的错误

我遇到了一些Apache网络服务器错误日志的问题。我的计算机上有一个虚拟托管网站scotthermmann.loc。在我手动清除错误日志后,使用sudocat/dev/null>scotthermmann.loc-error_log或者通过在emacs中打开文件并删除所有内容,错误不再记录到文件中。我试过使用sudoapachectlrestart想解决问题,但不解决问题。注销并重新登录也不能解决问题。解决问题的方法是重新启动计算机,但我不想在每次清除错误日志后都这样做。我托管的每个网站都不是这种情况。我还有另一个网站barefootfool.loc。清除该错误日志后,我没有任何问题。

apache - 如何让 Apache 在将 PHP 文件传递​​给 PHP-FPM 之前检查它是否存在?

我收到以下错误“未指定输入文件”。而不是当我请求一个不存在的PHP文件时找不到文件。那么是否可以让Apache在将PHP文件传递​​给PHP-FPM服务器之前检查它是否存在,以避免“未指定输入文件”。错误?或者那个错误是正常的/无害的?Apache是这样配置来处理PHP文件的:SetHandler"proxy:unix:/var/run/php5-fpm.sock.example|fcgi://localhost" 最佳答案 我不喜欢为该任务使用RewriteEngine。这是使用SetHandler指令的正确配置,同时检查PHP文

apache - php-cgi和php-fpm有什么关系?

当我们使用nginx作为webserver时,我们也使用php-fpm。如果我们使用apache或lighttpd,我们会更多地谈论php-cgi。那么问题来了php-cgi和php-fpm有什么关系和区别呢?非常感谢。 最佳答案 PHP-CGI是一个CGI接口(interface)。PHP-FPM是一个FastCGI接口(interface)。CGI每个请求运行一次。FastCGI在服务器启动时运行一次,然后进入请求循环。这使得CGI更简单,因为它没有依赖性;FastCGI速度更快,因为它避免了任何启动时间,但设置起来有点复杂。

php - Apache /CentOS 7 :/var/www/html/owned by root but created files owned by apache - how do I resolve this?

我在CentOS7上全新安装了未修改的Apache。我注意到,当我查看/var/www/html的文件夹权限时,它及其内容归apache所有。但是,当创建文件时,其所有者和组是Apache。虽然html归root:root所有,但所有内容都应该归apache:apache所有吗?或[user]:apache该用户属于Apache组?我该怎么办?编辑:另一个问题-我想要改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但似乎使用此配置可​​以防止新创建的文件(apache:apache)对已存在的文件(root:root)采取操作。这应该可以防止PHP黑客操纵任何现有文件,对吗

php - 如何在 php 中使用 memcached ?为什么?

memcache如何在“SELECT*FROMproducts”中帮助我。在我的后端,我每天都在添加产品。我希望我的访问者看到所有产品,而不仅仅是缓存的产品!我有点困惑。 最佳答案 缓存用于防止对数据库的调用。通常像Memcached这样的缓存系统使用Memory,速度非常快。例如,如果您有一个流量巨大的网站,如果您必须针对每个请求在MySQL上执行该选择,那么您就是在浪费资源。您要做的是缓存结果,然后仅在某些内容发生更改后才刷新它。我猜你有一个可以添加新产品的网站,添加新产品后你可以使缓存版本无效。关于使用Memcached和PH

带有二进制协议(protocol)的 PHP Memcached—— `increment()` 之后返回的垃圾数据

我已经开始使用increment()PHPMemcached客户端的方法,并切换到二进制协议(protocol)。显然,increment()isonlysupportedonthebinaryprotocol.有时,我看到从增加的键返回垃圾结果。例如:$memcached=new\Memcached();$memcached->setOption(\Memcached::OPT_BINARY_PROTOCOL,TRUE);…$this->cache->increment($key,1,1);…$this->cache->get($key);输出:"1\u0000ants101\r\n

php - 在 Docker 上重启 apache

我正在尝试更新Docker容器上的.htaccess文件。更新文件后,我需要重新启动Apache。每当我尝试重新启动Apache时:使用命令serviceapache2restart我都会收到以下错误:(98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:80nolisteningsocketsavailable,shuttingdownUnabletoopenlogsAction'start'failed.TheApacheerrorlogmayhavemoreinformation....fail!当我看到错误